# -*- coding: iso-8859-1 -*-

import math
import random
import sys
import entite
from tkinter import *


class Batiment(entite.Entite):
    def __init__(self, nom, type, 
                   dimx, dimy, dimz, posx, posy, posz, 
                  joueur, vies_max, id):
        
        entite.Entite.__init__( self, nom, 
                   dimx, dimy, dimz, posx, posy, posz, 
                   joueur, vies_max,id)
        
        self.compteur = 0
        self.rallyX = posx - 40
        self.rallyY = posy - 40
        self.rallyZ = posz - 40
        
        
    def typeEntite(self):
        return "Batiment"
        
        
            

    
    #methode pr faire des degats sur le batiment
    def faireDegatBatiment(self,nouveauDegat):
        self.nbrvies = self.nbrvies - nouveauDegat
        print (self.nbrvies)
     
    #methode pr reparer un batiment    
    def reparerDegatBatiment(self,reparation):
        self.nbrvies = self.nbrvies + reparation
        print (self.nbrvies)
    
    #methode pr detruire un batiment au complet    
    def detruireBatiment(self):
        self.nbrvies = 0
        self.dimx = 0
        self.dimy = 0
        self.dimz = 0
        self.systsolaire = ""
        self.joueur = ""
        print(self.nom," ",self.nbrvies," ",self.systsolaire," ",self.joueur)
        
    def modifierNom(self,nouveauNom):
        self.nom = nouveauNom
        print (self.nom)
        
        
    def incrementer(compteur):
        
        compteur = compteur+1 
        
        

#--------------------------------------------------------------------------------------#

class Caserne(Batiment):
    def __init__(self, nom, type, 
                   dimx, dimy, dimz, posx, posy, posz, 
                   joueur,vies_max,id):
        Batiment.__init__( self, nom, type,
                                    dimx, dimy, dimz, posx, posy, posz, 
                                    joueur,vies_max,id)
        self.image = PhotoImage(file="images/usine.GIF")
        
        
    def construire(self, unite, posX, posY, posZ):
            
            
         action = action.ActionCompteur(None,0, None, None, None, self,unite, posX, posY, posZ)
         
         client.Controleur.ajouterOuModifierAction(client.Controleur.actionsAFaire, action )

#--------------------------------------------------------------------------------------#
class Tour(Batiment):
    def __init__(self, nom, type, 
                   dimx, dimy, dimz, posx, posy, posz, 
                   joueur,vies_max, id, vitesse_attaque, degat):
        
        Batiment.__init__( self, nom, type,
                                    dimx, dimy, dimz, posx, posy, posz, 
                                    joueur,vies_max, id)
        
        self.vitesse_attaque = vitesse_attaque
        self.degat = degat
        self.image = PhotoImage(file="images/Tour.GIF")
        
class Usine(Batiment): 
    def __init__(self, nom, type, 
                   dimx, dimy, dimz, posx, posy, posz, 
                   joueur,vies_max, id):
        
        Batiment.__init__( self, nom, type,
                                    dimx, dimy, dimz, posx, posy, posz, 
                                    joueur,vies_max, id)
        

class StationSpatiale(Batiment):
    def __init__(self, nom, type, 
                   dimx, dimy, dimz, posx, posy, posz, 
                   joueur,vies_max, id):
        
        Batiment.__init__( self, nom, type,
                                    dimx, dimy, dimz, posx, posy, posz, 
                                    joueur,vies_max, id)
        self.image = PhotoImage(file="images/StationSpatiale.GIF")
        

class Mine(Batiment):
    def __init__(self, nom, type, 
                   dimx, dimy, dimz, posx, posy, posz, 
                   joueur,vies_max, id):
        
        Batiment.__init__( self, nom, type,
                                    dimx, dimy, dimz, posx, posy, posz, 
                                    joueur,vies_max, id)
        self.image = PhotoImage(file="images/Mine.GIF")
        
    def recolterRessource(ressourcesJoueur,ressourceRecoltee,nombre):
        
        if ressourceRecoltee == "fer":
            ressourcesJoueur[0] = ressourcesJoueur[0] + nombre
            
        elif ressourceRecoltee == "titane":
            ressourcesJoueur[1] = ressourcesJoueur[1] + nombre
            
        elif ressourceRecoltee == "petrole":
            ressourcesJoueur[2] = ressourcesJoueur[2] + nombre
            
        
class Ferme(Batiment):
    def __init__(self, nom, type, 
                   dimx, dimy, dimz, posx, posy, posz, 
                   joueur,vies_max, id):
        
        Batiment.__init__( self, nom, type,
                                    dimx, dimy, dimz, posx, posy, posz, 
                                    joueur,vies_max, id)
        
        
class Habitation(Batiment):
    def __init__(self, nom, type, 
                   dimx, dimy, dimz, posx, posy, posz, 
                   joueur,vies_max, id):
        
        Batiment.__init__( self, nom, type,
                                    dimx, dimy, dimz, posx, posy, posz, 
                                    joueur,vies_max, id)
        self.image = PhotoImage(file="images/Habitation.GIF")
        
class CentreRecherche(Batiment):
    def __init__(self, nom, type, 
                   dimx, dimy, dimz, posx, posy, posz, 
                   joueur,vies_max, id):
        
        Batiment.__init__( self, nom, type,
                                    dimx, dimy, dimz, posx, posy, posz, 
                                    joueur,vies_max, id)
        self.image = PhotoImage(file="images/centreRecherche.GIF")
        
        
class CentreCommunication(Batiment):
    def __init__(self, nom, type, 
                   dimx, dimy, dimz, posx, posy, posz, 
                   joueur,vies_max, id):
        
        Batiment.__init__( self, nom, type,
                                    dimx, dimy, dimz, posx, posy, posz, 
                                    joueur,vies_max, id)
        self.image = PhotoImage(file="images/centreCommunication.GIF")
      

#--------------------------------------------------------------------------------------#    

if __name__ == '__main__':

    
    #pour un test: creer un objet batiment

    bati = Batiment("Base Aerienne", "Tour", 5, 
                   10, 10, 10, 0, 20, 0, 
                   "Uranus", "AliGamer", 33, 
                   10, 100, 300, entite.Entite)

    print (bati.joueur)
    print (bati.systsolaire)
    print (bati.degat)
    print (bati.nom)
    bati.modifierNom("Base CVM")
    print (bati.nom)
    
    bati.faireDegatBatiment(50)
    bati.reparerDegatBatiment(60)
    print (bati.joueur)
    #bati.detruireBatiment()
    
    print (bati.nbrvies, " ", bati.dimx, " ", bati.dimy, " ", bati.dimz)
    


